package com.sztx.pay.center.core.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.sztx.pay.center.core.service.bean.rpc.OrderB2CDump;
import com.sztx.pay.center.core.service.bean.rpc.OrderRechargeDump;
import com.sztx.pay.center.core.service.bean.rpc.OrderRefundDump;
import com.sztx.pay.center.core.service.bean.rpc.OrderTransferDump;
import com.sztx.pay.center.core.service.bean.rpc.OrderWithdrawDump;

/**
 * @author Hinsteny
 * @date 2016/10/26
 * @copyright: 2016 All rights reserved.
 */
public interface OrderQueryService {

	/**
	 * 查询B2C交易数据
	 * 
	 * @return
	 */
	List<OrderB2CDump> findB2C(@Param("taskItemNum") Integer taskItemNum, @Param("taskItems") List<String> taskItems,
			@Param("fetchNum") Integer fetchNum, @Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 查询充值数据
	 * 
	 * @return
	 */
	List<OrderRechargeDump> findRecharge(@Param("taskItemNum") Integer taskItemNum, @Param("taskItems") List<String> taskItems,
			@Param("fetchNum") Integer fetchNum, @Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 查询退款数据
	 * 
	 * @return
	 */
	List<OrderRefundDump> findRefund(@Param("taskItemNum") Integer taskItemNum, @Param("taskItems") List<String> taskItems,
			@Param("fetchNum") Integer fetchNum, @Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 查询转账数据
	 * 
	 * @return
	 */
	List<OrderTransferDump> findTransfer(@Param("taskItemNum") Integer taskItemNum, @Param("taskItems") List<String> taskItems,
			@Param("fetchNum") Integer fetchNum, @Param("startTime") String startTime, @Param("endTime") String endTime);

	/**
	 * 查询提现数据
	 * 
	 * @return
	 */
	List<OrderWithdrawDump> findWithdraw(@Param("taskItemNum") Integer taskItemNum, @Param("taskItems") List<String> taskItems,
			@Param("fetchNum") Integer fetchNum, @Param("startTime") String startTime, @Param("endTime") String endTime);
}
